home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d6 / glazer.arc / CREDITPU.BAS < prev    next >
BASIC Source File  |  1988-10-07  |  2KB  |  56 lines

  1. 100 'Credit Purchase ("CREDITPURCH")
  2. 110 CLS
  3. 120 COLOR 0,15 : PRINT "Credit Purchase" : COLOR 15,0
  4. 130 DEFDBL A-Z
  5. 140 MONEYFMT$ = "$$##,###,###.##"
  6. 150 'Define rounding function
  7. 160 DEF FNR( V) = SGN( V) * INT (ABS (V) * 100 + .5) / 100
  8. 170 PRINT: PRINT
  9. 180 PRINT "Do not enter dollar signs or commas"
  10. 190 PRINT
  11. 200 INPUT "Purchase price: ", BALANCE
  12. 210 INPUT "Annual interest charge (in percent): ", CR
  13. 220 INPUT "Monthly payment (as percentage of balance): ", RPMT
  14. 230 INPUT "Minimum monthly payment: ", MINPMT
  15. 240 INPUT "Annual interest rate on savings (in percent): ", AR
  16. 250 PRINT "Enter date of first payment"
  17. 260 INPUT "  Month (1-12): ", SMONTH
  18. 270 INPUT "  Year: ", SYEAR
  19. 280 '     Initialize values
  20. 290 PR = (1 + AR / 100) ^ (1/12) - 1
  21. 300 TOTALPAYMENTS = 0
  22. 310 TOTALINTEREST = 0
  23. 320 PV = 0
  24. 330 M = 0
  25. 340 MONTHNUM = SYEAR * 12 + SMONTH
  26. 350 PRINT
  27. 360 PRINT "Press space bar to continue"
  28. 370 '     Calculate monthly balances
  29. 380 WHILE BALANCE > 0
  30. 390   K$ = INKEY$ : IF K$ = ""  THEN GOTO 390
  31. 400   M = M + 1
  32. 410   YEAR = (MONTHNUM - 1) \ 12
  33. 420   MONTH = MONTHNUM - YEAR * 12
  34. 430   MONTHNUM = MONTHNUM + 1
  35. 440   'Calculate month's payments
  36. 450   INTERESTDUE = FNR (BALANCE * CR / 1200)
  37. 460   PMT = INT (BALANCE * RPMT + .5) / 100
  38. 470   IF PMT < MINPMT  THEN PMT = MINPMT
  39. 480   IF PMT > BALANCE + INTERESTDUE  THEN PMT = BALANCE + INTERESTDUE
  40. 490   BALANCE = FNR (BALANCE - PMT + INTERESTDUE)
  41. 500   TOTALPAYMENTS = TOTALPAYMENTS + PMT
  42. 510   PV = PV + PMT * (1 + PR) ^ -M
  43. 520   TOTALINTEREST = TOTALINTEREST + INTERESTDUE
  44. 530   'Print results
  45. 540   PRINT:PRINT
  46. 550   PRINT "Payment number: "; M
  47. 560   PRINT "Date: "; MONTH;"/"; YEAR
  48. 570   PRINT "New balance: "; TAB(30); USING MONEYFMT$; BALANCE
  49. 580   PRINT "Payment: "; TAB(30); USING MONEYFMT$; PMT
  50. 590   PRINT "Finance charge: "; TAB(30); USING MONEYFMT$; INTERESTDUE
  51. 600   PRINT "Cumulative payments: "; TAB(30); USING MONEYFMT$; TOTALPAYMENTS
  52. 610   PRINT "Cumulative finance charges: "; TAB(30); USING MONEYFMT$;                           TOTALINTEREST
  53. 620   PRINT "Present value of payments: "; TAB(30); USING MONEYFMT$; PV
  54. 640 WEND
  55. 650 END
  56.